Draft Version In and Out of SSA: A Denotational Specification
نویسندگان
چکیده
We present non-standard denotational specifications of the SSA form and of its conversion processes from and to imperative programming languages. Thus, we provide a strong mathematical foundation for this intermediate code representation language used in modern compilers such as GCC or Intel CC. More specifically, we provide (1) a new functional approach to SSA, the Static Single Assignment form, together with its denotational semantics, (2) a collecting denotational semantics for a simple imperative language Imp, (3) a non-standard denotational semantics specifying the conversion of Imp to SSA and (4) a nonstandard denotational semantics for the reverse SSA to Imp conversion process. These translations are proven correct, ensuring that the structure of the memory states manipulated by imperative constructs is preserved in compilers’ middle ends that use the SSA form as control-flow data representation. Interestingly, as unexpected by-products of our conversion procedures, we offer (1) a new proof of the reducibility of the RAM computing model to the domain of Kleene’s partial recursive functions, to which SSA is strongly related, and, on a more practical note, (2) a new algorithm to perform program slicing in imperative programming languages. All these specifications have been prototyped using GNU Common Lisp. These fundamental results prove that the widely used SSA technology is sound. Our formal denotational framework further suggests that the SSA form could become a target of choice for other optimization analysis techniques such as abstract interpretation or partial evaluation. Indeed, since the SSA form is languageindependent, the resulting optimizations would be automatically enabled for any source language supported by compilers such as GCC.
منابع مشابه
Draft Version Denotational Semantics for SSA Conversion
We present the first formal specification of the SSA form, an intermediate code representation language used in most modern compilers such as GCC or Intel CC, and of its conversion process from imperative languages. More specifically, we provide (1) a denotational semantics of the SSA, the Static Single Assignment form, (2) a collecting denotational semantics for a Turing-complete imperative la...
متن کاملIn and Out of SSA: A Denotational Specification
We present non-standard denotational specifications of the SSAform and of its conversion processes from and to imperative pro-gramming languages. Thus, we provide a strong mathematicalfoundation for this intermediate code representation language usedin modern compilers such as GCC or Intel CC.More specifically, we provide (1) a new functional approachto SSA, the Static S...
متن کاملAn attempt to embed a restricted version of SDL as a target language in Focus
This paper presents a first attempt to embed a restricted version of SDL as a target language in Focus. Brief introductions to both Focus and SDL are given, and it is shown how both methods can be assigned a denotational semantics based on streams and stream processing functions. A set of Focus specifications, referred to as F-SDL, is characterized whose elements structurally and semantically m...
متن کاملمقایسه شرح شغل کارکنان مدارک پزشکی در کشورهای منتخب و ارائه الگو
Introduction: Organization, given that is a dynamic, flexible social phenomenon, which constantly changes. Therefore, categorizing plan of jobs would not be a stable phenomenon. Therefore, because the content of job alters with technical advances, it had better to examine specially at the time of an annual assessment, the job description. In addition, the chief of medical records unit should, a...
متن کاملFiscal Policy and Poverty Reduction in Some Selected Sub-Saharan Africa Countries
The equally uncharacterized nature of government role in Sub Saharan African (SSA) region on the issue of poverty reduction have surged the modest research of this study. The issue on poverty is a continuous cause and need remedies so much and fast. This study examined the effect of fiscal policy on poverty reduction in Sub-Saharan Africa from 1999 to 2016. Pool Mean Group (PMG) was employed to...
متن کامل